﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TerhelesEloszto.Common;

namespace TerhelesEloszto.Engine
{
	/// <summary>
	/// Évközi feladatok típusát reprezentáló osztály.
	/// </summary>
	class TaskType : ITaskType
	{
		#region ITaskType Members

		/// <summary>
		/// A feladattípus neve.
		/// </summary>
		public string Name
		{
			get { return name; }
			set { name = value; }
		}

		/// <summary>
		/// Tartozik-e órarendi időpont az ilyen típusú feladatokhoz.
		/// </summary>
		public bool HasInterval
		{
			get { return hasInterval; }
			set { hasInterval = value; }
		}

		/// <summary>
		/// A task típus azonosítója.
		/// </summary>
		public int ID
		{
			get { return id; }
		}

		#endregion

		/// <summary>
		/// Konstruktor linq entitázsból.
		/// </summary>
		/// <param name="taskType">Az entitázs-</param>
		internal TaskType( TASKTYPE taskType )
		{
			name = taskType.NAME;
			if( taskType.HASINTERVAL == 0 )
			{
				hasInterval = false;
			}
			else
			{
				hasInterval = true;
			}
			id = taskType.ID;
		}

		private int id;
		private string name;
		private bool hasInterval;

		public override bool Equals( object obj )
		{
			if( obj is ITaskType )
			{
				ITaskType o = (ITaskType)( obj );
				return o.ID == id;
			}
			else
			{
				return base.Equals( obj );
			}
		}
	}
}
